home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 16 / IOPROG_16.ISO / soft / macaxsdk / macsdk.hqx / ActiveX DR3 SDK / ActiveX SDK / Container Common / memstrm.cpp < prev    next >
MacBinary  |  1997-04-30  |  7.9 KB  |  [TEXT/CWIE]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Wed Apr 30 14:47:27 1997, modified Wed Apr 30 14:47:27 1997, creator 'CWIE', type ASCII, 7303 bytes "memstrm.cpp" , at 0x1d07 456 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[CWIE]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0b 6d 65 6d 73 74 72 | 6d 2e 63 70 70 00 00 00 |..memstr|m.cpp...|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 57 49 | 45 01 00 00 00 00 00 00 |.TEXTCWI|E.......|
|00000050| 00 00 00 00 00 1c 87 00 | 00 01 c8 af 8d 44 3f af |........|.....D?.|
|00000060| 8d 44 3f 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.D?.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 5d 35 00 00 |........|....]5..|
|00000080| 2f 2f 0d 2f 2f 20 20 4d | 45 4d 53 54 52 4d 2e 43 |//.// M|EMSTRM.C|
|00000090| 50 50 0d 2f 2f 0d 2f 2f | 20 3e 3e 3e 20 a9 20 31 |PP.//.//| >>> . 1|
|000000a0| 39 39 36 2d 31 39 39 37 | 20 4d 69 63 72 6f 73 6f |996-1997| Microso|
|000000b0| 66 74 20 43 6f 72 70 6f | 72 61 74 69 6f 6e 2e 20 |ft Corpo|ration. |
|000000c0| 20 41 6c 6c 20 72 69 67 | 68 74 73 20 72 65 73 65 | All rig|hts rese|
|000000d0| 72 76 65 64 2e 20 3c 3c | 3c 0d 2f 2f 0d 2f 2f 20 |rved. <<|<.//.// |
|000000e0| 20 49 6d 70 6c 65 6d 65 | 6e 74 61 74 69 6f 6e 20 | Impleme|ntation |
|000000f0| 6f 66 20 61 20 4e 65 74 | 73 63 61 70 65 20 73 74 |of a Net|scape st|
|00000100| 72 65 61 6d 20 6e 6f 74 | 69 66 69 63 61 74 69 6f |ream not|ificatio|
|00000110| 6e 20 6f 62 6a 65 63 74 | 20 74 68 61 74 20 22 77 |n object| that "w|
|00000120| 72 69 74 65 73 22 20 64 | 61 74 61 0d 2f 2f 20 20 |rites" d|ata.// |
|00000130| 74 6f 20 61 20 6d 65 6d | 6f 72 79 20 62 75 66 66 |to a mem|ory buff|
|00000140| 65 72 2e 20 20 54 68 69 | 73 20 6d 65 6d 6f 72 79 |er. Thi|s memory|
|00000150| 20 62 75 66 66 65 72 20 | 63 61 6e 20 62 65 20 75 | buffer |can be u|
|00000160| 74 69 6c 69 7a 65 64 20 | 65 78 74 65 72 6e 61 6c |tilized |external|
|00000170| 6c 79 20 77 69 74 68 20 | 74 68 65 0d 2f 2f 20 20 |ly with |the.// |
|00000180| 49 53 74 72 65 61 6d 20 | 69 6e 74 65 72 66 61 63 |IStream |interfac|
|00000190| 65 2e 0d 2f 2f 0d 2f 2f | 20 20 54 68 69 73 20 68 |e..//.//| This h|
|000001a0| 61 73 20 62 65 65 6e 20 | 62 72 6f 6b 65 6e 20 75 |as been |broken u|
|000001b0| 70 20 69 6e 74 6f 20 43 | 4d 65 6d 6f 72 79 53 74 |p into C|MemorySt|
|000001c0| 72 65 61 6d 4e 6f 74 69 | 66 79 20 77 68 69 63 68 |reamNoti|fy which|
|000001d0| 20 64 6f 65 73 20 74 68 | 65 20 73 69 6d 70 6c 65 | does th|e simple|
|000001e0| 0d 2f 2f 20 20 63 6f 70 | 79 2d 69 6e 74 6f 2d 6d |.// cop|y-into-m|
|000001f0| 65 6d 6f 72 79 2d 62 75 | 66 66 65 72 20 6c 6f 67 |emory-bu|ffer log|
|00000200| 69 63 2e 20 20 43 4d 65 | 6d 6f 72 79 4f 6c 65 53 |ic. CMe|moryOleS|
|00000210| 74 72 65 61 6d 4e 6f 74 | 69 66 79 20 69 6d 70 6c |treamNot|ify impl|
|00000220| 65 6d 65 6e 74 73 20 61 | 6e 20 49 53 74 72 65 61 |ements a|n IStrea|
|00000230| 6d 0d 2f 2f 20 20 69 6e | 74 65 72 66 61 63 65 20 |m.// in|terface |
|00000240| 6f 6e 20 74 6f 70 20 6f | 66 20 74 68 69 73 20 63 |on top o|f this c|
|00000250| 6c 61 73 73 2e 0d 2f 2f | 0d 0d 23 69 6e 63 6c 75 |lass..//|..#inclu|
|00000260| 64 65 20 22 41 58 43 6f | 6e 74 61 69 6e 65 72 48 |de "AXCo|ntainerH|
|00000270| 65 61 64 65 72 73 2e 68 | 22 0d 0d 2f 2f 0d 2f 2f |eaders.h|"..//.//|
|00000280| 20 20 43 4d 65 6d 6f 72 | 79 53 74 72 65 61 6d 4e | CMemor|yStreamN|
|00000290| 6f 74 69 66 79 3a 3a 7e | 43 4d 65 6d 6f 72 79 53 |otify::~|CMemoryS|
|000002a0| 74 72 65 61 6d 4e 6f 74 | 69 66 79 0d 2f 2f 0d 0d |treamNot|ify.//..|
|000002b0| 43 4d 65 6d 6f 72 79 53 | 74 72 65 61 6d 4e 6f 74 |CMemoryS|treamNot|
|000002c0| 69 66 79 3a 3a 7e 43 4d | 65 6d 6f 72 79 53 74 72 |ify::~CM|emoryStr|
|000002d0| 65 61 6d 4e 6f 74 69 66 | 79 28 29 0d 7b 0d 20 20 |eamNotif|y().{. |
|000002e0| 20 20 69 66 20 28 6d 5f | 70 53 74 72 65 61 6d 20 | if (m_|pStream |
|000002f0| 21 3d 20 4e 55 4c 4c 29 | 0d 20 20 20 20 20 20 20 |!= NULL)|. |
|00000300| 20 43 6f 54 61 73 6b 4d | 65 6d 46 72 65 65 28 6d | CoTaskM|emFree(m|
|00000310| 5f 70 53 74 72 65 61 6d | 29 3b 0d 7d 0d 0d 2f 2f |_pStream|);.}..//|
|00000320| 0d 2f 2f 20 20 43 4d 65 | 6d 6f 72 79 53 74 72 65 |.// CMe|moryStre|
|00000330| 61 6d 4e 6f 74 69 66 79 | 3a 3a 4f 6e 57 72 69 74 |amNotify|::OnWrit|
|00000340| 65 0d 2f 2f 0d 0d 69 6e | 74 33 32 0d 43 4d 65 6d |e.//..in|t32.CMem|
|00000350| 6f 72 79 53 74 72 65 61 | 6d 4e 6f 74 69 66 79 3a |oryStrea|mNotify:|
|00000360| 3a 4f 6e 57 72 69 74 65 | 28 4e 50 53 74 72 65 61 |:OnWrite|(NPStrea|
|00000370| 6d 20 2a 73 74 72 65 61 | 6d 2c 20 69 6e 74 33 32 |m *strea|m, int32|
|00000380| 20 6f 66 66 73 65 74 2c | 20 69 6e 74 33 32 20 6c | offset,| int32 l|
|00000390| 65 6e 2c 20 76 6f 69 64 | 0d 20 20 20 20 2a 62 75 |en, void|. *bu|
|000003a0| 66 66 65 72 29 0d 7b 0d | 23 70 72 61 67 6d 61 20 |ffer).{.|#pragma |
|000003b0| 75 6e 75 73 65 64 20 28 | 73 74 72 65 61 6d 2c 20 |unused (|stream, |
|000003c0| 6f 66 66 73 65 74 29 0d | 20 20 20 20 4c 50 56 4f |offset).| LPVO|
|000003d0| 49 44 20 70 4e 65 77 53 | 74 72 65 61 6d 3b 0d 20 |ID pNewS|tream;. |
|000003e0| 20 20 20 69 6e 74 33 32 | 20 42 79 74 65 73 57 72 | int32| BytesWr|
|000003f0| 69 74 74 65 6e 3b 0d 0d | 20 20 20 20 69 66 20 28 |itten;..| if (|
|00000400| 6d 5f 70 53 74 72 65 61 | 6d 20 3d 3d 20 4e 55 4c |m_pStrea|m == NUL|
|00000410| 4c 29 20 7b 0d 20 20 20 | 20 20 20 20 20 70 4e 65 |L) {. | pNe|
|00000420| 77 53 74 72 65 61 6d 20 | 3d 20 28 4c 50 56 4f 49 |wStream |= (LPVOI|
|00000430| 44 29 20 43 6f 54 61 73 | 6b 4d 65 6d 41 6c 6c 6f |D) CoTas|kMemAllo|
|00000440| 63 28 6c 65 6e 29 3b 0d | 20 20 20 20 7d 20 65 6c |c(len);.| } el|
|00000450| 73 65 20 7b 0d 20 20 20 | 20 20 20 20 20 70 4e 65 |se {. | pNe|
|00000460| 77 53 74 72 65 61 6d 20 | 3d 20 28 4c 50 56 4f 49 |wStream |= (LPVOI|
|00000470| 44 29 20 43 6f 54 61 73 | 6b 4d 65 6d 52 65 61 6c |D) CoTas|kMemReal|
|00000480| 6c 6f 63 28 6d 5f 70 53 | 74 72 65 61 6d 2c 20 6d |loc(m_pS|tream, m|
|00000490| 5f 53 74 72 65 61 6d 4c | 65 6e 67 74 68 20 2b 20 |_StreamL|ength + |
|000004a0| 6c 65 6e 29 3b 0d 20 20 | 20 20 7d 0d 0d 20 20 20 |len);. | }.. |
|000004b0| 20 69 66 20 28 70 4e 65 | 77 53 74 72 65 61 6d 20 | if (pNe|wStream |
|000004c0| 21 3d 20 4e 55 4c 4c 29 | 20 7b 0d 20 20 20 20 20 |!= NULL)| {. |
|000004d0| 20 20 20 42 6c 6f 63 6b | 4d 6f 76 65 28 62 75 66 | Block|Move(buf|
|000004e0| 66 65 72 2c 20 28 28 4c | 50 42 59 54 45 29 20 70 |fer, ((L|PBYTE) p|
|000004f0| 4e 65 77 53 74 72 65 61 | 6d 20 2b 20 6d 5f 53 74 |NewStrea|m + m_St|
|00000500| 72 65 61 6d 4c 65 6e 67 | 74 68 29 2c 20 6c 65 6e |reamLeng|th), len|
|00000510| 29 3b 0d 20 20 20 20 20 | 20 20 20 6d 5f 70 53 74 |);. | m_pSt|
|00000520| 72 65 61 6d 20 3d 20 70 | 4e 65 77 53 74 72 65 61 |ream = p|NewStrea|
|00000530| 6d 3b 0d 20 20 20 20 20 | 20 20 20 6d 5f 53 74 72 |m;. | m_Str|
|00000540| 65 61 6d 4c 65 6e 67 74 | 68 20 2b 3d 20 6c 65 6e |eamLengt|h += len|
|00000550| 3b 0d 20 20 20 20 20 20 | 20 20 42 79 74 65 73 57 |;. | BytesW|
|00000560| 72 69 74 74 65 6e 20 3d | 20 6c 65 6e 3b 0d 20 20 |ritten =| len;. |
|00000570| 20 20 7d 20 65 6c 73 65 | 20 7b 0d 20 20 20 20 20 | } else| {. |
|00000580| 20 20 20 2f 2f 20 20 52 | 65 74 75 72 6e 69 6e 67 | // R|eturning|
|00000590| 20 61 20 6e 65 67 61 74 | 69 76 65 20 76 61 6c 75 | a negat|ive valu|
|000005a0| 65 20 63 61 75 73 65 73 | 20 74 68 65 20 73 74 72 |e causes| the str|
|000005b0| 65 61 6d 20 74 6f 20 65 | 72 72 6f 72 20 6f 75 74 |eam to e|rror out|
|000005c0| 20 61 6e 64 20 62 65 0d | 20 20 20 20 20 20 20 20 | and be.| |
|000005d0| 2f 2f 20 20 64 65 73 74 | 72 6f 79 65 64 2e 0d 20 |// dest|royed.. |
|000005e0| 20 20 20 20 20 20 20 42 | 79 74 65 73 57 72 69 74 | B|ytesWrit|
|000005f0| 74 65 6e 20 3d 20 2d 31 | 3b 0d 20 20 20 20 7d 0d |ten = -1|;. }.|
|00000600| 0d 20 20 20 20 72 65 74 | 75 72 6e 20 42 79 74 65 |. ret|urn Byte|
|00000610| 73 57 72 69 74 74 65 6e | 3b 0d 7d 0d 0d 2f 2f 0d |sWritten|;.}..//.|
|00000620| 2f 2f 20 20 43 4d 65 6d | 6f 72 79 4f 6c 65 53 74 |// CMem|oryOleSt|
|00000630| 72 65 61 6d 4e 6f 74 69 | 66 79 3a 3a 49 55 6e 6b |reamNoti|fy::IUnk|
|00000640| 6e 6f 77 6e 3a 3a 51 75 | 65 72 79 49 6e 74 65 72 |nown::Qu|eryInter|
|00000650| 66 61 63 65 0d 2f 2f 0d | 0d 53 54 44 4d 45 54 48 |face.//.|.STDMETH|
|00000660| 4f 44 49 4d 50 0d 43 4d | 65 6d 6f 72 79 4f 6c 65 |ODIMP.CM|emoryOle|
|00000670| 53 74 72 65 61 6d 4e 6f | 74 69 66 79 3a 3a 51 75 |StreamNo|tify::Qu|
|00000680| 65 72 79 49 6e 74 65 72 | 66 61 63 65 28 52 45 46 |eryInter|face(REF|
|00000690| 49 49 44 20 72 69 69 64 | 2c 20 4c 50 56 4f 49 44 |IID riid|, LPVOID|
|000006a0| 20 2a 70 70 76 4f 62 6a | 29 0d 7b 0d 20 20 20 20 | *ppvObj|).{. |
|000006b0| 48 52 45 53 55 4c 54 20 | 68 72 3b 0d 20 20 20 20 |HRESULT |hr;. |
|000006c0| 4c 50 56 4f 49 44 20 70 | 76 3b 0d 0d 20 20 20 20 |LPVOID p|v;.. |
|000006d0| 69 66 20 28 72 69 69 64 | 20 3d 3d 20 49 49 44 5f |if (riid| == IID_|
|000006e0| 49 55 6e 6b 6e 6f 77 6e | 20 7c 7c 20 72 69 69 64 |IUnknown| || riid|
|000006f0| 20 3d 3d 20 49 49 44 5f | 49 53 74 72 65 61 6d 29 | == IID_|IStream)|
|00000700| 20 7b 0d 20 20 20 20 20 | 20 20 20 70 76 20 3d 20 | {. | pv = |
|00000710| 28 4c 50 56 4f 49 44 29 | 28 4c 50 53 54 52 45 41 |(LPVOID)|(LPSTREA|
|00000720| 4d 29 20 74 68 69 73 3b | 0d 20 20 20 20 20 20 20 |M) this;|. |
|00000730| 20 2b 2b 6d 5f 63 52 65 | 66 3b 0d 20 20 20 20 20 | ++m_cRe|f;. |
|00000740| 20 20 20 68 72 20 3d 20 | 52 65 73 75 6c 74 46 72 | hr = |ResultFr|
|00000750| 6f 6d 53 63 6f 64 65 28 | 53 5f 4f 4b 29 3b 0d 20 |omScode(|S_OK);. |
|00000760| 20 20 20 7d 20 65 6c 73 | 65 20 7b 0d 20 20 20 20 | } els|e {. |
|00000770| 20 20 20 20 70 76 20 3d | 20 4e 55 4c 4c 3b 0d 20 | pv =| NULL;. |
|00000780| 20 20 20 20 20 20 20 68 | 72 20 3d 20 52 65 73 75 | h|r = Resu|
|00000790| 6c 74 46 72 6f 6d 53 63 | 6f 64 65 28 45 5f 4e 4f |ltFromSc|ode(E_NO|
|000007a0| 49 4e 54 45 52 46 41 43 | 45 29 3b 0d 20 20 20 20 |INTERFAC|E);. |
|000007b0| 7d 0d 0d 20 20 20 20 2a | 70 70 76 4f 62 6a 20 3d |}.. *|ppvObj =|
|000007c0| 20 70 76 3b 0d 20 20 20 | 20 72 65 74 75 72 6e 20 | pv;. | return |
|000007d0| 68 72 3b 0d 7d 0d 0d 2f | 2f 0d 2f 2f 20 20 43 4d |hr;.}../|/.// CM|
|000007e0| 65 6d 6f 72 79 4f 6c 65 | 53 74 72 65 61 6d 4e 6f |emoryOle|StreamNo|
|000007f0| 74 69 66 79 3a 3a 49 55 | 6e 6b 6e 6f 77 6e 3a 3a |tify::IU|nknown::|
|00000800| 41 64 64 52 65 66 0d 2f | 2f 0d 0d 53 54 44 4d 45 |AddRef./|/..STDME|
|00000810| 54 48 4f 44 49 4d 50 5f | 28 55 4c 4f 4e 47 29 0d |THODIMP_|(ULONG).|
|00000820| 43 4d 65 6d 6f 72 79 4f | 6c 65 53 74 72 65 61 6d |CMemoryO|leStream|
|00000830| 4e 6f 74 69 66 79 3a 3a | 41 64 64 52 65 66 28 76 |Notify::|AddRef(v|
|00000840| 6f 69 64 29 0d 7b 0d 20 | 20 20 20 72 65 74 75 72 |oid).{. | retur|
|00000850| 6e 20 2b 2b 6d 5f 63 52 | 65 66 3b 0d 7d 0d 0d 2f |n ++m_cR|ef;.}../|
|00000860| 2f 0d 2f 2f 20 20 43 4d | 65 6d 6f 72 79 4f 6c 65 |/.// CM|emoryOle|
|00000870| 53 74 72 65 61 6d 4e 6f | 74 69 66 79 3a 3a 49 55 |StreamNo|tify::IU|
|00000880| 6e 6b 6e 6f 77 6e 3a 3a | 52 65 6c 65 61 73 65 0d |nknown::|Release.|
|00000890| 2f 2f 0d 0d 53 54 44 4d | 45 54 48 4f 44 49 4d 50 |//..STDM|ETHODIMP|
|000008a0| 5f 28 55 4c 4f 4e 47 29 | 0d 43 4d 65 6d 6f 72 79 |_(ULONG)|.CMemory|
|000008b0| 4f 6c 65 53 74 72 65 61 | 6d 4e 6f 74 69 66 79 3a |OleStrea|mNotify:|
|000008c0| 3a 52 65 6c 65 61 73 65 | 28 76 6f 69 64 29 0d 7b |:Release|(void).{|
|000008d0| 0d 20 20 20 20 69 66 20 | 28 2d 2d 6d 5f 63 52 65 |. if |(--m_cRe|
|000008e0| 66 20 21 3d 20 30 29 0d | 20 20 20 20 20 20 20 20 |f != 0).| |
|000008f0| 72 65 74 75 72 6e 20 6d | 5f 63 52 65 66 3b 0d 0d |return m|_cRef;..|
|00000900| 20 20 20 20 64 65 6c 65 | 74 65 20 74 68 69 73 3b | dele|te this;|
|00000910| 0d 20 20 20 20 72 65 74 | 75 72 6e 20 30 3b 0d 7d |. ret|urn 0;.}|
|00000920| 0d 0d 2f 2f 0d 2f 2f 20 | 20 43 4d 65 6d 6f 72 79 |..//.// | CMemory|
|00000930| 4f 6c 65 53 74 72 65 61 | 6d 4e 6f 74 69 66 79 3a |OleStrea|mNotify:|
|00000940| 3a 49 53 74 72 65 61 6d | 3a 3a 52 65 61 64 0d 2f |:IStream|::Read./|
|00000950| 2f 0d 0d 53 54 44 4d 45 | 54 48 4f 44 49 4d 50 0d |/..STDME|THODIMP.|
|00000960| 43 4d 65 6d 6f 72 79 4f | 6c 65 53 74 72 65 61 6d |CMemoryO|leStream|
|00000970| 4e 6f 74 69 66 79 3a 3a | 52 65 61 64 28 76 6f 69 |Notify::|Read(voi|
|00000980| 64 20 2a 70 76 2c 20 44 | 57 4f 52 44 20 63 62 2c |d *pv, D|WORD cb,|
|00000990| 20 4c 50 44 57 4f 52 44 | 20 70 63 62 52 65 61 64 | LPDWORD| pcbRead|
|000009a0| 29 0d 7b 0d 20 20 20 20 | 2f 2f 20 20 56 65 72 69 |).{. |// Veri|
|000009b0| 66 79 20 74 68 61 74 20 | 77 65 27 72 65 20 6e 6f |fy that |we're no|
|000009c0| 74 20 74 72 79 20 74 6f | 20 72 65 61 64 20 6d 6f |t try to| read mo|
|000009d0| 72 65 20 62 79 74 65 73 | 20 74 68 61 6e 20 61 72 |re bytes| than ar|
|000009e0| 65 20 61 76 61 69 6c 61 | 62 6c 65 2e 20 20 49 66 |e availa|ble. If|
|000009f0| 20 77 65 0d 20 20 20 20 | 2f 2f 20 20 61 72 65 2c | we. |// are,|
|00000a00| 20 63 6c 69 70 20 74 68 | 65 20 61 63 74 75 61 6c | clip th|e actual|
|00000a10| 20 6e 75 6d 62 65 72 20 | 6f 66 20 62 79 74 65 73 | number |of bytes|
|00000a20| 20 63 6f 70 69 65 64 2e | 20 20 54 68 65 20 4f 4c | copied.| The OL|
|00000a30| 45 33 32 20 6d 65 6d 6f | 72 79 20 73 74 72 65 61 |E32 memo|ry strea|
|00000a40| 6d 0d 20 20 20 20 2f 2f | 20 20 69 6d 70 6c 65 6d |m. //| implem|
|00000a50| 65 6e 74 61 74 69 6f 6e | 20 64 6f 65 73 6e 27 74 |entation| doesn't|
|00000a60| 20 72 65 74 75 72 6e 20 | 61 6e 20 65 72 72 6f 72 | return |an error|
|00000a70| 2c 20 73 6f 20 77 65 20 | 77 6f 6e 27 74 20 65 69 |, so we |won't ei|
|00000a80| 74 68 65 72 2e 0d 20 20 | 20 20 69 66 20 28 28 28 |ther.. | if (((|
|00000a90| 4c 4f 4e 47 29 20 63 62 | 20 3c 20 30 29 20 7c 7c |LONG) cb| < 0) |||
|00000aa0| 20 28 63 62 20 2b 20 28 | 55 4c 4f 4e 47 29 20 6d | (cb + (|ULONG) m|
|00000ab0| 5f 53 65 65 6b 50 6f 73 | 69 74 69 6f 6e 20 3e 20 |_SeekPos|ition > |
|00000ac0| 28 55 4c 4f 4e 47 29 20 | 6d 5f 53 74 72 65 61 6d |(ULONG) |m_Stream|
|00000ad0| 4c 65 6e 67 74 68 29 29 | 20 7b 0d 20 20 20 20 20 |Length))| {. |
|00000ae0| 20 20 20 69 66 20 28 6d | 5f 66 41 73 79 6e 63 53 | if (m|_fAsyncS|
|00000af0| 74 72 65 61 6d 49 6e 50 | 72 6f 67 72 65 73 73 29 |treamInP|rogress)|
|00000b00| 20 7b 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 2f | {. | /|
|00000b10| 2f 20 20 53 70 65 63 69 | 61 6c 20 63 61 73 65 3a |/ Speci|al case:|
|00000b20| 20 69 66 20 77 65 27 72 | 65 20 69 6e 20 74 68 65 | if we'r|e in the|
|00000b30| 20 6d 69 64 64 6c 65 20 | 6f 66 20 73 74 72 65 61 | middle |of strea|
|00000b40| 6d 69 6e 67 20 73 6f 6d | 65 20 64 61 74 61 20 66 |ming som|e data f|
|00000b50| 72 6f 6d 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |rom. | |
|00000b60| 2f 2f 20 20 74 68 65 20 | 6e 65 74 77 6f 72 6b 2c |// the |network,|
|00000b70| 20 72 65 74 75 72 6e 20 | 45 5f 50 45 4e 44 49 4e | return |E_PENDIN|
|00000b80| 47 20 73 6f 20 74 68 61 | 74 20 61 73 79 6e 63 20 |G so tha|t async |
|00000b90| 62 69 6e 64 69 6e 67 20 | 77 6f 72 6b 73 0d 20 20 |binding |works. |
|00000ba0| 20 20 20 20 20 20 20 20 | 20 20 2f 2f 20 20 63 6f | | // co|
|00000bb0| 72 72 65 63 74 6c 79 2e | 0d 20 20 20 20 20 20 20 |rrectly.|. |
|00000bc0| 20 20 20 20 20 2f 2f 20 | 20 42 55 47 42 55 47 3a | // | BUGBUG:|
|00000bd0| 20 20 41 62 6f 76 65 20 | 69 66 20 73 74 61 74 65 | Above |if state|
|00000be0| 6d 65 6e 74 20 70 72 6f | 62 61 62 6c 79 20 69 73 |ment pro|bably is|
|00000bf0| 6e 27 74 20 61 64 65 71 | 75 61 74 65 2c 20 72 65 |n't adeq|uate, re|
|00000c00| 76 69 65 77 20 74 68 69 | 73 2e 0d 20 20 20 20 20 |view thi|s.. |
|00000c10| 20 20 20 20 20 20 20 72 | 65 74 75 72 6e 20 52 65 | r|eturn Re|
|00000c20| 73 75 6c 74 46 72 6f 6d | 53 63 6f 64 65 28 45 5f |sultFrom|Scode(E_|
|00000c30| 50 45 4e 44 49 4e 47 29 | 3b 0d 20 20 20 20 20 20 |PENDING)|;. |
|00000c40| 20 20 7d 20 65 6c 73 65 | 20 7b 0d 20 20 20 20 20 | } else| {. |
|00000c50| 20 20 20 20 20 20 20 63 | 62 20 3d 20 6d 5f 53 74 | c|b = m_St|
|00000c60| 72 65 61 6d 4c 65 6e 67 | 74 68 20 2d 20 6d 5f 53 |reamLeng|th - m_S|
|00000c70| 65 65 6b 50 6f 73 69 74 | 69 6f 6e 3b 0d 20 20 20 |eekPosit|ion;. |
|00000c80| 20 20 20 20 20 7d 0d 20 | 20 20 20 7d 0d 0d 20 20 | }. | }.. |
|00000c90| 20 20 69 66 20 28 63 62 | 20 3e 20 30 29 20 7b 0d | if (cb| > 0) {.|
|00000ca0| 20 20 20 20 20 20 20 20 | 42 6c 6f 63 6b 4d 6f 76 | |BlockMov|
|00000cb0| 65 28 28 4c 50 42 59 54 | 45 29 20 6d 5f 70 53 74 |e((LPBYT|E) m_pSt|
|00000cc0| 72 65 61 6d 20 2b 20 6d | 5f 53 65 65 6b 50 6f 73 |ream + m|_SeekPos|
|00000cd0| 69 74 69 6f 6e 2c 20 70 | 76 2c 20 63 62 29 3b 0d |ition, p|v, cb);.|
|00000ce0| 20 20 20 20 20 20 20 20 | 6d 5f 53 65 65 6b 50 6f | |m_SeekPo|
|00000cf0| 73 69 74 69 6f 6e 20 2b | 3d 20 63 62 3b 0d 20 20 |sition +|= cb;. |
|00000d00| 20 20 7d 0d 0d 20 20 20 | 20 69 66 20 28 70 63 62 | }.. | if (pcb|
|00000d10| 52 65 61 64 20 21 3d 20 | 4e 55 4c 4c 29 0d 20 20 |Read != |NULL). |
|00000d20| 20 20 20 20 20 20 2a 70 | 63 62 52 65 61 64 20 3d | *p|cbRead =|
|00000d30| 20 63 62 3b 0d 0d 20 20 | 20 20 72 65 74 75 72 6e | cb;.. | return|
|00000d40| 20 52 65 73 75 6c 74 46 | 72 6f 6d 53 63 6f 64 65 | ResultF|romScode|
|00000d50| 28 53 5f 4f 4b 29 3b 0d | 7d 0d 0d 2f 2f 0d 2f 2f |(S_OK);.|}..//.//|
|00000d60| 20 20 43 4d 65 6d 6f 72 | 79 4f 6c 65 53 74 72 65 | CMemor|yOleStre|
|00000d70| 61 6d 4e 6f 74 69 66 79 | 3a 3a 49 53 74 72 65 61 |amNotify|::IStrea|
|00000d80| 6d 3a 3a 57 72 69 74 65 | 0d 2f 2f 0d 0d 53 54 44 |m::Write|.//..STD|
|00000d90| 4d 45 54 48 4f 44 49 4d | 50 0d 43 4d 65 6d 6f 72 |METHODIM|P.CMemor|
|00000da0| 79 4f 6c 65 53 74 72 65 | 61 6d 4e 6f 74 69 66 79 |yOleStre|amNotify|
|00000db0| 3a 3a 57 72 69 74 65 28 | 76 6f 69 64 20 63 6f 6e |::Write(|void con|
|00000dc0| 73 74 20 2a 70 76 2c 20 | 44 57 4f 52 44 20 63 62 |st *pv, |DWORD cb|
|00000dd0| 2c 20 4c 50 44 57 4f 52 | 44 20 70 63 62 57 72 69 |, LPDWOR|D pcbWri|
|00000de0| 74 74 65 6e 29 0d 7b 0d | 23 70 72 61 67 6d 61 20 |tten).{.|#pragma |
|00000df0| 75 6e 75 73 65 64 20 28 | 70 76 2c 20 63 62 2c 20 |unused (|pv, cb, |
|00000e00| 70 63 62 57 72 69 74 74 | 65 6e 29 0d 20 20 20 20 |pcbWritt|en). |
|00000e10| 72 65 74 75 72 6e 20 52 | 65 73 75 6c 74 46 72 6f |return R|esultFro|
|00000e20| 6d 53 63 6f 64 65 28 53 | 54 47 5f 45 5f 41 43 43 |mScode(S|TG_E_ACC|
|00000e30| 45 53 53 44 45 4e 49 45 | 44 29 3b 0d 7d 0d 0d 2f |ESSDENIE|D);.}../|
|00000e40| 2f 0d 2f 2f 20 20 43 4d | 65 6d 6f 72 79 4f 6c 65 |/.// CM|emoryOle|
|00000e50| 53 74 72 65 61 6d 4e 6f | 74 69 66 79 3a 3a 49 53 |StreamNo|tify::IS|
|00000e60| 74 72 65 61 6d 3a 3a 53 | 65 65 6b 0d 2f 2f 0d 0d |tream::S|eek.//..|
|00000e70| 53 54 44 4d 45 54 48 4f | 44 49 4d 50 0d 43 4d 65 |STDMETHO|DIMP.CMe|
|00000e80| 6d 6f 72 79 4f 6c 65 53 | 74 72 65 61 6d 4e 6f 74 |moryOleS|treamNot|
|00000e90| 69 66 79 3a 3a 53 65 65 | 6b 28 4c 41 52 47 45 5f |ify::See|k(LARGE_|
|00000ea0| 49 4e 54 45 47 45 52 20 | 64 6c 69 62 4d 6f 76 65 |INTEGER |dlibMove|
|00000eb0| 2c 20 44 57 4f 52 44 20 | 64 77 4f 72 69 67 69 6e |, DWORD |dwOrigin|
|00000ec0| 2c 0d 20 20 20 20 55 4c | 41 52 47 45 5f 49 4e 54 |,. UL|ARGE_INT|
|00000ed0| 45 47 45 52 20 2a 70 6c | 69 62 4e 65 77 50 6f 73 |EGER *pl|ibNewPos|
|00000ee0| 69 74 69 6f 6e 29 0d 7b | 0d 20 20 20 20 48 52 45 |ition).{|. HRE|
|00000ef0| 53 55 4c 54 20 68 72 20 | 3d 20 52 65 73 75 6c 74 |SULT hr |= Result|
|00000f00| 46 72 6f 6d 53 63 6f 64 | 65 28 53 5f 4f 4b 29 3b |FromScod|e(S_OK);|
|00000f10| 0d 20 20 20 20 4c 4f 4e | 47 20 6c 4d 6f 76 65 20 |. LON|G lMove |
|00000f20| 3d 20 28 4c 4f 4e 47 29 | 20 64 6c 69 62 4d 6f 76 |= (LONG)| dlibMov|
|00000f30| 65 2e 4c 6f 77 50 61 72 | 74 3b 0d 0d 20 20 20 20 |e.LowPar|t;.. |
|00000f40| 2f 2f 20 20 4e 6f 74 65 | 20 74 68 61 74 20 77 65 |// Note| that we|
|00000f50| 20 64 6f 6e 27 74 20 63 | 61 72 65 20 61 62 6f 75 | don't c|are abou|
|00000f60| 74 20 64 6c 69 62 4d 6f | 76 65 2e 48 69 67 68 50 |t dlibMo|ve.HighP|
|00000f70| 61 72 74 2e 20 20 43 68 | 65 63 6b 69 6e 67 20 74 |art. Ch|ecking t|
|00000f80| 68 65 20 57 69 6e 33 32 | 0d 20 20 20 20 2f 2f 20 |he Win32|. // |
|00000f90| 20 4f 4c 45 20 73 6f 75 | 72 63 65 73 2c 20 74 68 | OLE sou|rces, th|
|00000fa0| 65 72 65 20 69 6d 70 6c | 65 6d 65 6e 74 61 74 69 |ere impl|ementati|
|00000fb0| 6f 6e 20 6f 66 20 61 20 | 6d 65 6d 6f 72 79 20 73 |on of a |memory s|
|00000fc0| 74 72 65 61 6d 20 64 6f | 65 73 6e 27 74 20 62 6f |tream do|esn't bo|
|00000fd0| 74 68 65 72 2c 20 73 6f | 0d 20 20 20 20 2f 2f 20 |ther, so|. // |
|00000fe0| 20 69 66 20 74 68 65 20 | 72 65 66 65 72 65 6e 63 | if the |referenc|
|00000ff0| 65 20 69 6d 70 6c 65 6d | 65 6e 74 61 74 69 6f 6e |e implem|entation|
|00001000| 20 62 6c 6f 77 73 20 6f | 66 66 20 74 68 65 20 69 | blows o|ff the i|
|00001010| 73 73 75 65 20 6f 66 20 | 36 34 2d 62 69 74 2c 20 |ssue of |64-bit, |
|00001020| 74 68 65 6e 20 77 65 0d | 20 20 20 20 2f 2f 20 20 |then we.| // |
|00001030| 73 75 72 65 20 61 73 20 | 68 65 6c 6c 20 63 61 6e |sure as |hell can|
|00001040| 2e 20 20 49 6e 20 66 61 | 63 74 2c 20 74 68 65 20 |. In fa|ct, the |
|00001050| 62 65 6c 6f 77 20 77 61 | 73 20 6c 69 66 74 65 64 |below wa|s lifted|
|00001060| 20 66 72 6f 6d 20 4f 4c | 45 2e 0d 20 20 20 20 73 | from OL|E.. s|
|00001070| 77 69 74 63 68 20 28 64 | 77 4f 72 69 67 69 6e 29 |witch (d|wOrigin)|
|00001080| 20 7b 0d 0d 20 20 20 20 | 20 20 20 20 63 61 73 65 | {.. | case|
|00001090| 20 53 54 52 45 41 4d 5f | 53 45 45 4b 5f 53 45 54 | STREAM_|SEEK_SET|
|000010a0| 3a 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 69 66 |:. | if|
|000010b0| 20 28 6c 4d 6f 76 65 20 | 3e 3d 20 30 29 20 7b 0d | (lMove |>= 0) {.|
|000010c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000010d0| 6d 5f 53 65 65 6b 50 6f | 73 69 74 69 6f 6e 20 3d |m_SeekPo|sition =|
|000010e0| 20 6c 4d 6f 76 65 3b 0d | 20 20 20 20 20 20 20 20 | lMove;.| |
|000010f0| 20 20 20 20 7d 20 65 6c | 73 65 20 7b 0d 20 20 20 | } el|se {. |
|00001100| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 68 72 20 | | hr |
|00001110| 3d 20 52 65 73 75 6c 74 | 46 72 6f 6d 53 63 6f 64 |= Result|FromScod|
|00001120| 65 28 53 54 47 5f 45 5f | 53 45 45 4b 45 52 52 4f |e(STG_E_|SEEKERRO|
|00001130| 52 29 3b 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |R);. | |
|00001140| 7d 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 62 72 |}. | br|
|00001150| 65 61 6b 3b 0d 0d 20 20 | 20 20 20 20 20 20 63 61 |eak;.. | ca|
|00001160| 73 65 20 53 54 52 45 41 | 4d 5f 53 45 45 4b 5f 43 |se STREA|M_SEEK_C|
|00001170| 55 52 3a 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 |UR:. | |
|00001180| 69 66 20 28 21 28 6c 4d | 6f 76 65 20 3c 20 30 20 |if (!(lM|ove < 0 |
|00001190| 26 26 20 28 28 55 4c 4f | 4e 47 29 20 2d 6c 4d 6f |&& ((ULO|NG) -lMo|
|000011a0| 76 65 29 20 3e 20 28 55 | 4c 4f 4e 47 29 20 6d 5f |ve) > (U|LONG) m_|
|000011b0| 53 65 65 6b 50 6f 73 69 | 74 69 6f 6e 29 29 20 7b |SeekPosi|tion)) {|
|000011c0| 0d 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000011d0| 20 6d 5f 53 65 65 6b 50 | 6f 73 69 74 69 6f 6e 20 | m_SeekP|osition |
|000011e0| 2b 3d 20 6c 4d 6f 76 65 | 3b 0d 20 20 20 20 20 20 |+= lMove|;. |
|000011f0| 20 20 20 20 20 20 7d 20 | 65 6c 73 65 20 7b 0d 20 | } |else {. |
|00001200| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 68 | | h|
|00001210| 72 20 3d 20 52 65 73 75 | 6c 74 46 72 6f 6d 53 63 |r = Resu|ltFromSc|
|00001220| 6f 64 65 28 53 54 47 5f | 45 5f 53 45 45 4b 45 52 |ode(STG_|E_SEEKER|
|00001230| 52 4f 52 29 3b 0d 20 20 | 20 20 20 20 20 20 20 20 |ROR);. | |
|00001240| 20 20 7d 0d 20 20 20 20 | 20 20 20 20 20 20 20 20 | }. | |
|00001250| 62 72 65 61 6b 3b 0d 0d | 20 20 20 20 20 20 20 20 |break;..| |
|00001260| 63 61 73 65 20 53 54 52 | 45 41 4d 5f 53 45 45 4b |case STR|EAM_SEEK|
|00001270| 5f 45 4e 44 3a 0d 20 20 | 20 20 20 20 20 20 20 20 |_END:. | |
|00001280| 20 20 69 66 20 28 21 28 | 6c 4d 6f 76 65 20 3c 20 | if (!(|lMove < |
|00001290| 30 20 26 26 20 28 28 55 | 4c 4f 4e 47 29 20 2d 6c |0 && ((U|LONG) -l|
|000012a0| 4d 6f 76 65 29 20 3e 20 | 28 55 4c 4f 4e 47 29 20 |Move) > |(ULONG) |
|000012b0| 6d 5f 53 74 72 65 61 6d | 4c 65 6e 67 74 68 29 29 |m_Stream|Length))|
|000012c0| 20 7b 0d 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | {. | |
|000012d0| 20 20 20 6d 5f 53 65 65 | 6b 50 6f 73 69 74 69 6f | m_See|kPositio|
|000012e0| 6e 20 2b 3d 20 6d 5f 53 | 74 72 65 61 6d 4c 65 6e |n += m_S|treamLen|
|000012f0| 67 74 68 20 2b 20 6c 4d | 6f 76 65 3b 0d 20 20 20 |gth + lM|ove;. |
|00001300| 20 20 20 20 20 20 20 20 | 20 7d 20 65 6c 73 65 20 | | } else |
|00001310| 7b 0d 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |{. | |
|00001320| 20 20 68 72 20 3d 20 52 | 65 73 75 6c 74 46 72 6f | hr = R|esultFro|
|00001330| 6d 53 63 6f 64 65 28 53 | 54 47 5f 45 5f 53 45 45 |mScode(S|TG_E_SEE|
|00001340| 4b 45 52 52 4f 52 29 3b | 0d 20 20 20 20 20 20 20 |KERROR);|. |
|00001350| 20 20 20 20 20 7d 0d 20 | 20 20 20 20 20 20 20 20 | }. | |
|00001360| 20 20 20 62 72 65 61 6b | 3b 0d 0d 20 20 20 20 20 | break|;.. |
|00001370| 20 20 20 64 65 66 61 75 | 6c 74 3a 0d 20 20 20 20 | defau|lt:. |
|00001380| 20 20 20 20 20 20 20 20 | 68 72 20 3d 20 52 65 73 | |hr = Res|
|00001390| 75 6c 74 46 72 6f 6d 53 | 63 6f 64 65 28 53 54 47 |ultFromS|code(STG|
|000013a0| 5f 45 5f 49 4e 56 41 4c | 49 44 46 55 4e 43 54 49 |_E_INVAL|IDFUNCTI|
|000013b0| 4f 4e 29 3b 0d 20 20 20 | 20 20 20 20 20 20 20 20 |ON);. | |
|000013c0| 20 62 72 65 61 6b 3b 0d | 20 20 20 20 7d 0d 0d 20 | break;.| }.. |
|000013d0| 20 20 20 69 66 20 28 70 | 6c 69 62 4e 65 77 50 6f | if (p|libNewPo|
|000013e0| 73 69 74 69 6f 6e 20 21 | 3d 20 4e 55 4c 4c 29 20 |sition !|= NULL) |
|000013f0| 7b 0d 20 20 20 20 20 20 | 20 20 70 6c 69 62 4e 65 |{. | plibNe|
|00001400| 77 50 6f 73 69 74 69 6f | 6e 2d 3e 48 69 67 68 50 |wPositio|n->HighP|
|00001410| 61 72 74 20 3d 20 30 3b | 0d 20 20 20 20 20 20 20 |art = 0;|. |
|00001420| 20 70 6c 69 62 4e 65 77 | 50 6f 73 69 74 69 6f 6e | plibNew|Position|
|00001430| 2d 3e 4c 6f 77 50 61 72 | 74 20 3d 20 6d 5f 53 65 |->LowPar|t = m_Se|
|00001440| 65 6b 50 6f 73 69 74 69 | 6f 6e 3b 0d 20 20 20 20 |ekPositi|on;. |
|00001450| 7d 0d 0d 20 20 20 20 72 | 65 74 75 72 6e 20 68 72 |}.. r|eturn hr|
|00001460| 3b 0d 7d 0d 0d 2f 2f 0d | 2f 2f 20 20 43 4d 65 6d |;.}..//.|// CMem|
|00001470| 6f 72 79 4f 6c 65 53 74 | 72 65 61 6d 4e 6f 74 69 |oryOleSt|reamNoti|
|00001480| 66 79 3a 3a 49 53 74 72 | 65 61 6d 3a 3a 53 65 74 |fy::IStr|eam::Set|
|00001490| 53 69 7a 65 0d 2f 2f 0d | 0d 53 54 44 4d 45 54 48 |Size.//.|.STDMETH|
|000014a0| 4f 44 49 4d 50 0d 43 4d | 65 6d 6f 72 79 4f 6c 65 |ODIMP.CM|emoryOle|
|000014b0| 53 74 72 65 61 6d 4e 6f | 74 69 66 79 3a 3a 53 65 |StreamNo|tify::Se|
|000014c0| 74 53 69 7a 65 28 55 4c | 41 52 47 45 5f 49 4e 54 |tSize(UL|ARGE_INT|
|000014d0| 45 47 45 52 20 6c 69 62 | 4e 65 77 53 69 7a 65 29 |EGER lib|NewSize)|
|000014e0| 0d 7b 0d 23 70 72 61 67 | 6d 61 20 75 6e 75 73 65 |.{.#prag|ma unuse|
|000014f0| 64 20 28 6c 69 62 4e 65 | 77 53 69 7a 65 29 0d 20 |d (libNe|wSize). |
|00001500| 20 20 20 2f 2f 20 20 57 | 65 27 72 65 20 61 20 72 | // W|e're a r|
|00001510| 65 61 64 2d 6f 6e 6c 79 | 20 73 74 72 65 61 6d 2c |ead-only| stream,|
|00001520| 20 73 6f 20 74 68 65 72 | 65 27 73 20 6e 6f 20 72 | so ther|e's no r|
|00001530| 65 61 73 6f 6e 20 74 6f | 20 72 65 73 69 7a 65 20 |eason to| resize |
|00001540| 6f 75 72 20 73 74 72 65 | 61 6d 2e 0d 20 20 20 20 |our stre|am.. |
|00001550| 72 65 74 75 72 6e 20 52 | 65 73 75 6c 74 46 72 6f |return R|esultFro|
|00001560| 6d 53 63 6f 64 65 28 53 | 54 47 5f 45 5f 49 4e 56 |mScode(S|TG_E_INV|
|00001570| 41 4c 49 44 46 55 4e 43 | 54 49 4f 4e 29 3b 0d 7d |ALIDFUNC|TION);.}|
|00001580| 0d 0d 2f 2f 0d 2f 2f 20 | 20 43 4d 65 6d 6f 72 79 |..//.// | CMemory|
|00001590| 4f 6c 65 53 74 72 65 61 | 6d 4e 6f 74 69 66 79 3a |OleStrea|mNotify:|
|000015a0| 3a 49 53 74 72 65 61 6d | 3a 3a 43 6f 70 79 54 6f |:IStream|::CopyTo|
|000015b0| 0d 2f 2f 0d 0d 53 54 44 | 4d 45 54 48 4f 44 49 4d |.//..STD|METHODIM|
|000015c0| 50 0d 43 4d 65 6d 6f 72 | 79 4f 6c 65 53 74 72 65 |P.CMemor|yOleStre|
|000015d0| 61 6d 4e 6f 74 69 66 79 | 3a 3a 43 6f 70 79 54 6f |amNotify|::CopyTo|
|000015e0| 28 4c 50 53 54 52 45 41 | 4d 20 70 73 74 6d 2c 20 |(LPSTREA|M pstm, |
|000015f0| 55 4c 41 52 47 45 5f 49 | 4e 54 45 47 45 52 20 63 |ULARGE_I|NTEGER c|
|00001600| 62 2c 20 55 4c 41 52 47 | 45 5f 49 4e 54 45 47 45 |b, ULARG|E_INTEGE|
|00001610| 52 0d 20 20 20 20 2a 70 | 63 62 52 65 61 64 2c 20 |R. *p|cbRead, |
|00001620| 55 4c 41 52 47 45 5f 49 | 4e 54 45 47 45 52 20 2a |ULARGE_I|NTEGER *|
|00001630| 70 63 62 57 72 69 74 74 | 65 6e 29 0d 7b 0d 23 70 |pcbWritt|en).{.#p|
|00001640| 72 61 67 6d 61 20 75 6e | 75 73 65 64 20 28 70 73 |ragma un|used (ps|
|00001650| 74 6d 2c 20 63 62 2c 20 | 70 63 62 52 65 61 64 2c |tm, cb, |pcbRead,|
|00001660| 20 70 63 62 57 72 69 74 | 74 65 6e 29 0d 20 20 20 | pcbWrit|ten). |
|00001670| 20 2f 2f 20 20 54 68 65 | 72 65 27 73 20 6e 6f 20 | // The|re's no |
|00001680| 67 6f 6f 64 20 72 65 61 | 73 6f 6e 20 66 6f 72 20 |good rea|son for |
|00001690| 74 68 69 73 20 6e 6f 74 | 20 74 6f 20 62 65 20 69 |this not| to be i|
|000016a0| 6d 70 6c 65 6d 65 6e 74 | 65 64 2e 0d 20 20 20 20 |mplement|ed.. |
|000016b0| 72 65 74 75 72 6e 20 52 | 65 73 75 6c 74 46 72 6f |return R|esultFro|
|000016c0| 6d 53 63 6f 64 65 28 45 | 5f 4e 4f 54 49 4d 50 4c |mScode(E|_NOTIMPL|
|000016d0| 29 3b 0d 7d 0d 0d 2f 2f | 0d 2f 2f 20 20 43 4d 65 |);.}..//|.// CMe|
|000016e0| 6d 6f 72 79 4f 6c 65 53 | 74 72 65 61 6d 4e 6f 74 |moryOleS|treamNot|
|000016f0| 69 66 79 3a 3a 49 53 74 | 72 65 61 6d 3a 3a 43 6f |ify::ISt|ream::Co|
|00001700| 6d 6d 69 74 0d 2f 2f 0d | 0d 53 54 44 4d 45 54 48 |mmit.//.|.STDMETH|
|00001710| 4f 44 49 4d 50 0d 43 4d | 65 6d 6f 72 79 4f 6c 65 |ODIMP.CM|emoryOle|
|00001720| 53 74 72 65 61 6d 4e 6f | 74 69 66 79 3a 3a 43 6f |StreamNo|tify::Co|
|00001730| 6d 6d 69 74 28 44 57 4f | 52 44 20 67 72 66 43 6f |mmit(DWO|RD grfCo|
|00001740| 6d 6d 69 74 46 6c 61 67 | 73 29 0d 7b 0d 23 70 72 |mmitFlag|s).{.#pr|
|00001750| 61 67 6d 61 20 75 6e 75 | 73 65 64 20 28 67 72 66 |agma unu|sed (grf|
|00001760| 43 6f 6d 6d 69 74 46 6c | 61 67 73 29 0d 20 20 20 |CommitFl|ags). |
|00001770| 20 2f 2f 20 20 57 65 20 | 63 61 6e 20 61 6c 77 61 | // We |can alwa|
|00001780| 79 73 20 22 63 6f 6d 6d | 69 74 22 20 62 65 63 61 |ys "comm|it" beca|
|00001790| 75 73 65 20 69 74 27 73 | 20 6e 6f 74 20 70 6f 73 |use it's| not pos|
|000017a0| 73 69 62 6c 65 20 74 6f | 20 77 72 69 74 65 20 74 |sible to| write t|
|000017b0| 6f 20 74 68 65 20 73 74 | 72 65 61 6d 2e 0d 20 20 |o the st|ream.. |
|000017c0| 20 20 72 65 74 75 72 6e | 20 52 65 73 75 6c 74 46 | return| ResultF|
|000017d0| 72 6f 6d 53 63 6f 64 65 | 28 53 5f 4f 4b 29 3b 0d |romScode|(S_OK);.|
|000017e0| 7d 0d 0d 2f 2f 0d 2f 2f | 20 20 43 4d 65 6d 6f 72 |}..//.//| CMemor|
|000017f0| 79 4f 6c 65 53 74 72 65 | 61 6d 4e 6f 74 69 66 79 |yOleStre|amNotify|
|00001800| 3a 3a 49 53 74 72 65 61 | 6d 3a 3a 52 65 76 65 72 |::IStrea|m::Rever|
|00001810| 74 0d 2f 2f 0d 0d 53 54 | 44 4d 45 54 48 4f 44 49 |t.//..ST|DMETHODI|
|00001820| 4d 50 0d 43 4d 65 6d 6f | 72 79 4f 6c 65 53 74 72 |MP.CMemo|ryOleStr|
|00001830| 65 61 6d 4e 6f 74 69 66 | 79 3a 3a 52 65 76 65 72 |eamNotif|y::Rever|
|00001840| 74 28 76 6f 69 64 29 0d | 7b 0d 20 20 20 20 2f 2f |t(void).|{. //|
|00001850| 20 20 57 65 20 63 61 6e | 20 61 6c 77 61 79 73 20 | We can| always |
|00001860| 22 72 65 76 65 72 74 22 | 20 62 65 63 61 75 73 65 |"revert"| because|
|00001870| 20 69 74 27 73 20 6e 6f | 74 20 70 6f 73 73 69 62 | it's no|t possib|
|00001880| 6c 65 20 74 6f 20 77 72 | 69 74 65 20 74 6f 20 74 |le to wr|ite to t|
|00001890| 68 65 20 73 74 72 65 61 | 6d 2e 0d 20 20 20 20 72 |he strea|m.. r|
|000018a0| 65 74 75 72 6e 20 52 65 | 73 75 6c 74 46 72 6f 6d |eturn Re|sultFrom|
|000018b0| 53 63 6f 64 65 28 53 5f | 4f 4b 29 3b 0d 7d 0d 0d |Scode(S_|OK);.}..|
|000018c0| 2f 2f 0d 2f 2f 20 20 43 | 4d 65 6d 6f 72 79 4f 6c |//.// C|MemoryOl|
|000018d0| 65 53 74 72 65 61 6d 4e | 6f 74 69 66 79 3a 3a 49 |eStreamN|otify::I|
|000018e0| 53 74 72 65 61 6d 3a 3a | 4c 6f 63 6b 52 65 67 69 |Stream::|LockRegi|
|000018f0| 6f 6e 0d 2f 2f 0d 0d 53 | 54 44 4d 45 54 48 4f 44 |on.//..S|TDMETHOD|
|00001900| 49 4d 50 0d 43 4d 65 6d | 6f 72 79 4f 6c 65 53 74 |IMP.CMem|oryOleSt|
|00001910| 72 65 61 6d 4e 6f 74 69 | 66 79 3a 3a 4c 6f 63 6b |reamNoti|fy::Lock|
|00001920| 52 65 67 69 6f 6e 28 55 | 4c 41 52 47 45 5f 49 4e |Region(U|LARGE_IN|
|00001930| 54 45 47 45 52 20 6c 69 | 62 4f 66 66 73 65 74 2c |TEGER li|bOffset,|
|00001940| 20 55 4c 41 52 47 45 5f | 49 4e 54 45 47 45 52 20 | ULARGE_|INTEGER |
|00001950| 63 62 2c 0d 20 20 20 20 | 44 57 4f 52 44 20 64 77 |cb,. |DWORD dw|
|00001960| 4c 6f 63 6b 54 79 70 65 | 29 0d 7b 0d 23 70 72 61 |LockType|).{.#pra|
|00001970| 67 6d 61 20 75 6e 75 73 | 65 64 20 28 6c 69 62 4f |gma unus|ed (libO|
|00001980| 66 66 73 65 74 2c 20 63 | 62 2c 20 64 77 4c 6f 63 |ffset, c|b, dwLoc|
|00001990| 6b 54 79 70 65 29 0d 20 | 20 20 20 72 65 74 75 72 |kType). | retur|
|000019a0| 6e 20 52 65 73 75 6c 74 | 46 72 6f 6d 53 63 6f 64 |n Result|FromScod|
|000019b0| 65 28 53 54 47 5f 45 5f | 49 4e 56 41 4c 49 44 46 |e(STG_E_|INVALIDF|
|000019c0| 55 4e 43 54 49 4f 4e 29 | 3b 0d 7d 0d 0d 2f 2f 0d |UNCTION)|;.}..//.|
|000019d0| 2f 2f 20 20 43 4d 65 6d | 6f 72 79 4f 6c 65 53 74 |// CMem|oryOleSt|
|000019e0| 72 65 61 6d 4e 6f 74 69 | 66 79 3a 3a 49 53 74 72 |reamNoti|fy::IStr|
|000019f0| 65 61 6d 3a 3a 55 6e 6c | 6f 63 6b 52 65 67 69 6f |eam::Unl|ockRegio|
|00001a00| 6e 0d 2f 2f 0d 0d 53 54 | 44 4d 45 54 48 4f 44 49 |n.//..ST|DMETHODI|
|00001a10| 4d 50 0d 43 4d 65 6d 6f | 72 79 4f 6c 65 53 74 72 |MP.CMemo|ryOleStr|
|00001a20| 65 61 6d 4e 6f 74 69 66 | 79 3a 3a 55 6e 6c 6f 63 |eamNotif|y::Unloc|
|00001a30| 6b 52 65 67 69 6f 6e 28 | 55 4c 41 52 47 45 5f 49 |kRegion(|ULARGE_I|
|00001a40| 4e 54 45 47 45 52 20 6c | 69 62 4f 66 66 73 65 74 |NTEGER l|ibOffset|
|00001a50| 2c 20 55 4c 41 52 47 45 | 5f 49 4e 54 45 47 45 52 |, ULARGE|_INTEGER|
|00001a60| 0d 20 20 20 20 63 62 2c | 20 44 57 4f 52 44 20 64 |. cb,| DWORD d|
|00001a70| 77 4c 6f 63 6b 54 79 70 | 65 29 0d 7b 0d 23 70 72 |wLockTyp|e).{.#pr|
|00001a80| 61 67 6d 61 20 75 6e 75 | 73 65 64 20 28 6c 69 62 |agma unu|sed (lib|
|00001a90| 4f 66 66 73 65 74 2c 20 | 63 62 2c 20 64 77 4c 6f |Offset, |cb, dwLo|
|00001aa0| 63 6b 54 79 70 65 29 0d | 20 20 20 20 72 65 74 75 |ckType).| retu|
|00001ab0| 72 6e 20 52 65 73 75 6c | 74 46 72 6f 6d 53 63 6f |rn Resul|tFromSco|
|00001ac0| 64 65 28 53 54 47 5f 45 | 5f 49 4e 56 41 4c 49 44 |de(STG_E|_INVALID|
|00001ad0| 46 55 4e 43 54 49 4f 4e | 29 3b 0d 7d 0d 0d 2f 2f |FUNCTION|);.}..//|
|00001ae0| 0d 2f 2f 20 20 43 4d 65 | 6d 6f 72 79 4f 6c 65 53 |.// CMe|moryOleS|
|00001af0| 74 72 65 61 6d 4e 6f 74 | 69 66 79 3a 3a 49 53 74 |treamNot|ify::ISt|
|00001b00| 72 65 61 6d 3a 3a 53 74 | 61 74 0d 2f 2f 0d 0d 53 |ream::St|at.//..S|
|00001b10| 54 44 4d 45 54 48 4f 44 | 49 4d 50 0d 43 4d 65 6d |TDMETHOD|IMP.CMem|
|00001b20| 6f 72 79 4f 6c 65 53 74 | 72 65 61 6d 4e 6f 74 69 |oryOleSt|reamNoti|
|00001b30| 66 79 3a 3a 53 74 61 74 | 28 53 54 41 54 53 54 47 |fy::Stat|(STATSTG|
|00001b40| 20 2a 70 73 74 61 74 73 | 74 67 2c 20 44 57 4f 52 | *pstats|tg, DWOR|
|00001b50| 44 20 67 72 66 53 74 61 | 74 46 6c 61 67 29 0d 7b |D grfSta|tFlag).{|
|00001b60| 0d 23 70 72 61 67 6d 61 | 20 75 6e 75 73 65 64 20 |.#pragma| unused |
|00001b70| 28 67 72 66 53 74 61 74 | 46 6c 61 67 29 0d 20 20 |(grfStat|Flag). |
|00001b80| 20 20 2f 2f 20 20 49 6d | 70 6c 65 6d 65 6e 74 61 | // Im|plementa|
|00001b90| 74 69 6f 6e 20 6c 69 66 | 74 65 64 20 66 72 6f 6d |tion lif|ted from|
|00001ba0| 20 4f 4c 45 33 32 27 73 | 20 6d 65 6d 6f 72 79 20 | OLE32's| memory |
|00001bb0| 73 74 72 65 61 6d 2e 0d | 20 20 20 20 6d 65 6d 73 |stream..| mems|
|00001bc0| 65 74 28 70 73 74 61 74 | 73 74 67 2c 20 30 2c 20 |et(pstat|stg, 0, |
|00001bd0| 73 69 7a 65 6f 66 28 2a | 70 73 74 61 74 73 74 67 |sizeof(*|pstatstg|
|00001be0| 29 29 3b 0d 20 20 20 20 | 70 73 74 61 74 73 74 67 |));. |pstatstg|
|00001bf0| 2d 3e 74 79 70 65 20 3d | 20 53 54 47 54 59 5f 53 |->type =| STGTY_S|
|00001c00| 54 52 45 41 4d 3b 0d 20 | 20 20 20 70 73 74 61 74 |TREAM;. | pstat|
|00001c10| 73 74 67 2d 3e 63 62 53 | 69 7a 65 2e 4c 6f 77 50 |stg->cbS|ize.LowP|
|00001c20| 61 72 74 20 3d 20 6d 5f | 53 74 72 65 61 6d 4c 65 |art = m_|StreamLe|
|00001c30| 6e 67 74 68 3b 0d 20 20 | 20 20 72 65 74 75 72 6e |ngth;. | return|
|00001c40| 20 52 65 73 75 6c 74 46 | 72 6f 6d 53 63 6f 64 65 | ResultF|romScode|
|00001c50| 28 53 5f 4f 4b 29 3b 0d | 7d 0d 0d 2f 2f 0d 2f 2f |(S_OK);.|}..//.//|
|00001c60| 20 20 43 4d 65 6d 6f 72 | 79 4f 6c 65 53 74 72 65 | CMemor|yOleStre|
|00001c70| 61 6d 4e 6f 74 69 66 79 | 3a 3a 49 53 74 72 65 61 |amNotify|::IStrea|
|00001c80| 6d 3a 3a 43 6c 6f 6e 65 | 0d 2f 2f 0d 0d 53 54 44 |m::Clone|.//..STD|
|00001c90| 4d 45 54 48 4f 44 49 4d | 50 0d 43 4d 65 6d 6f 72 |METHODIM|P.CMemor|
|00001ca0| 79 4f 6c 65 53 74 72 65 | 61 6d 4e 6f 74 69 66 79 |yOleStre|amNotify|
|00001cb0| 3a 3a 43 6c 6f 6e 65 28 | 4c 50 53 54 52 45 41 4d |::Clone(|LPSTREAM|
|00001cc0| 20 2a 70 70 73 74 6d 29 | 0d 7b 0d 20 20 20 20 2a | *ppstm)|.{. *|
|00001cd0| 70 70 73 74 6d 20 3d 20 | 4e 55 4c 4c 3b 0d 20 20 |ppstm = |NULL;. |
|00001ce0| 20 20 72 65 74 75 72 6e | 20 52 65 73 75 6c 74 46 | return| ResultF|
|00001cf0| 72 6f 6d 53 63 6f 64 65 | 28 45 5f 4e 4f 54 49 4d |romScode|(E_NOTIM|
|00001d00| 50 4c 29 3b 0d 7d 0d 00 | 00 00 00 00 00 00 00 00 |PL);.}..|........|
|00001d10| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d80| 00 00 01 00 00 00 01 76 | 00 00 00 76 00 00 00 52 |.......v|...v...R|
|00001d90| 74 70 73 3a 2f 2f 62 61 | 6e 6b 69 6e 67 2e 77 65 |tps://ba|nking.we|
|00001da0| 6c 6c 73 66 61 72 67 6f | 2e 63 6f 6d 2f 69 6d 61 |llsfargo|.com/ima|
|00001db0| 0b 6d 65 6d 73 74 72 6d | 2e 63 70 70 02 00 00 00 |.memstrm|.cpp....|
|00001dc0| 50 61 72 74 53 49 54 21 | 00 00 00 00 00 00 00 00 |PartSIT!|........|
|00001dd0| 00 00 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |..PartSI|T!......|
|00001de0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001df0| 00 00 b0 56 8e 17 00 00 | 00 00 00 00 01 c8 6e 6b |...V....|......nk|
|00001e00| 69 6e 67 2e 77 65 6c 6c | 73 66 61 72 67 6f 2e 63 |ing.well|sfargo.c|
|00001e10| 6f 6d 2f 69 6d 61 67 65 | 73 2f 62 6b 2e 67 69 66 |om/image|s/bk.gif|
|00001e20| 00 07 00 80 31 68 74 74 | 70 3a 2f 2f 77 77 77 95 |....1htt|p://www.|
|00001e30| 02 80 31 68 74 74 70 73 | 3a 2f 2f 62 61 6e 6b 69 |..1https|://banki|
|00001e40| 6e 67 2e 77 65 6c 6c 73 | 66 61 72 67 6f 2e 63 6f |ng.wells|fargo.co|
|00001e50| 6d 2f 69 6d 61 67 65 73 | 2f 62 6b 2e 67 69 66 00 |m/images|/bk.gif.|
|00001e60| 07 00 80 31 68 74 74 70 | 3a 2f 2f 77 77 77 95 02 |...1http|://www..|
|00001e70| 80 31 68 74 74 70 73 3a | 2f 2f 62 61 6e 6b 69 6e |.1https:|//bankin|
|00001e80| 00 00 00 04 00 01 00 01 | 00 00 00 48 00 09 4d 6f |........|...H..Mo|
|00001e90| 6e 61 63 6f 00 00 00 00 | 03 d0 eb 40 00 00 00 00 |naco....|...@....|
|00001ea0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 06 |........|........|
|00001eb0| 00 04 00 5d 00 04 02 ed | 02 63 00 5d 00 04 02 ed |...]....|.c.]....|
|00001ec0| 02 63 af 8d 0c 00 00 00 | 00 5a 00 00 00 5a 00 00 |.c......|.Z...Z..|
|00001ed0| 00 00 01 00 00 00 00 1e | 00 5d 00 04 02 ed 02 63 |........|.].....c|
|00001ee0| 00 5d 00 04 02 ed 02 63 | 00 00 00 00 00 00 00 00 |.].....c|........|
|00001ef0| 00 00 00 00 00 00 00 00 | 01 00 00 00 01 76 00 00 |........|.....v..|
|00001f00| 00 76 00 00 00 52 03 a7 | 6d 98 25 d4 00 00 00 1c |.v...R..|m.%.....|
|00001f10| 00 52 00 01 4d 50 53 52 | 00 01 00 12 4d 57 42 42 |.R..MPSR|....MWBB|
|00001f20| 00 00 00 2a 03 ed ff ff | 00 00 00 08 00 00 00 00 |...*....|........|
|00001f30| 03 f0 ff ff 00 00 00 54 | 03 b3 fe c0 03 f0 ff ff |.......T|........|
|00001f40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001f50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001f60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001f70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+